package com.stoken.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.Scanner;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

@Entity
public class MemberRegisterInfo implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY) 
	private long id;
	
	@Column(length=16)
	private String baseUsername;
	
	@ManyToOne
	@JoinColumn(name="register_commend_username")
	private MemberBaseInfo registerCommendUsername;
	
	@ManyToOne
	@JoinColumn(name="parent_username")
	private MemberBaseInfo parentUsername;
	
	/**
	 * 0-左边 1-右边
	 */
	private int registerLocation;
	
	/**
	 * 1－100$
	 * 2－200$
	 * 5－500$
	 * 10－1000$
	 * 30－3000$
	 */
	private int registerGrade;
	
	/**
	 * 0表示未激活，1表示激活
	 */
	private int registerAvtivestate;
	
	@Temporal(TemporalType.TIMESTAMP)
	private Date registerActivetime;
	
	@Column(length=16)
	private String registerLeftAccount;
	
	@Column(length=16)
	private String registerRightAccount;
	
	private String registerLevel;
	
	@Column(length=255)
	private String registerRemark;
	
	@Column(length=255)
	private String registerSpare;
	
	/**
	 * 是否计算奖金
	 * 0未计算，1计算
	 */
	@Column(nullable=false,columnDefinition="INT default 0")
	private int premium;

	
	
	/**显示层级*/
	@Transient
	private String showLevel;
	
	
	/**是否可用*/
	@Transient
	private boolean use;
	
	/**临时服务人员名字*/
	@Transient
	private String tempUsername;
	

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getBaseUsername() {
		return baseUsername;
	}

	public void setBaseUsername(String baseUsername) {
		this.baseUsername = baseUsername;
	}

	public MemberBaseInfo getRegisterCommendUsername() {
		return registerCommendUsername;
	}

	public void setRegisterCommendUsername(MemberBaseInfo registerCommendUsername) {
		this.registerCommendUsername = registerCommendUsername;
	}

	public MemberBaseInfo getParentUsername() {
		return parentUsername;
	}

	public void setParentUsername(MemberBaseInfo parentUsername) {
		this.parentUsername = parentUsername;
	}

	public int getRegisterLocation() {
		return registerLocation;
	}

	public void setRegisterLocation(int registerLocation) {
		this.registerLocation = registerLocation;
	}

	public int getRegisterGrade() {
		return registerGrade;
	}

	public void setRegisterGrade(int registerGrade) {
		this.registerGrade = registerGrade;
	}

	public int getRegisterAvtivestate() {
		return registerAvtivestate;
	}

	public void setRegisterAvtivestate(int registerAvtivestate) {
		this.registerAvtivestate = registerAvtivestate;
	}

	public Date getRegisterActivetime() {
		return registerActivetime;
	}

	public void setRegisterActivetime(Date registerActivetime) {
		this.registerActivetime = registerActivetime;
	}

	public String getRegisterLeftAccount() {
		return registerLeftAccount;
	}

	public void setRegisterLeftAccount(String registerLeftAccount) {
		this.registerLeftAccount = registerLeftAccount;
	}

	public String getRegisterRightAccount() {
		return registerRightAccount;
	}

	public void setRegisterRightAccount(String registerRightAccount) {
		this.registerRightAccount = registerRightAccount;
	}

	public String getRegisterLevel() {
		return registerLevel;
	}

	public void setRegisterLevel(String registerLevel) {
		this.registerLevel = registerLevel;
	}

	public String getRegisterRemark() {
		return registerRemark;
	}

	public void setRegisterRemark(String registerRemark) {
		this.registerRemark = registerRemark;
	}

	public String getRegisterSpare() {
		return registerSpare;
	}

	public void setRegisterSpare(String registerSpare) {
		this.registerSpare = registerSpare;
	}
	
	public String getShowLevel() {
		return showLevel;
	}

	public void setShowLevel(String showLevel) {
		this.showLevel = showLevel;
	}

	public boolean getUse() {
		return use;
	}

	public void setUse(boolean use) {
		this.use = use;
	}
	
	public String getTempUsername() {
		return tempUsername;
	}

	public void setTempUsername(String tempUsername) {
		this.tempUsername = tempUsername;
	}
	
	public int getPremium() {
		return premium;
	}

	public void setPremium(int premium) {
		this.premium = premium;
	}

	public static void main(String[] args) {
	
			        Scanner cin = new Scanner(System.in);  
			        int n = cin.nextInt();  
			        System.out.println(2<<(n-2));  


	}
	
}
